//扩展jQuery对json字符串的转换  
jQuery.extend({  
  /** * @see 将json字符串转换为对象 * @param json字符串 * @return 返回object,array,string等对象 */  
  evalJSON: function(strJson) {  
    return eval("(" + strJson + ")");  
  }  
});  
jQuery.extend({  
  /** * @see 将javascript数据类型转换为json字符串 * @param 待转换对象,支持object,array,string,function,number,boolean,regexp * @return 返回json字符串 */  
  toJSONString: function(object) {  
    var type = typeof object;  
    if ('object' == type) {  
      if (Array == object.constructor) type = 'array';  
      else if (RegExp == object.constructor) type = 'regexp';  
      else type = 'object';  
    }  
    switch (type) {  
    case 'undefined':  
    case 'unknown':  
      return;  
      break;  
    case 'function':  
    case 'boolean':  
    case 'regexp':  
      return object.toString();  
      break;  
    case 'number':  
      return isFinite(object) ? object.toString() : 'null';  
      break;  
    case 'string':  
      return '"' + object.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g, function() {  
        var a = arguments[0];  
        return (a == '\n') ? '\\n': (a == '\r') ? '\\r': (a == '\t') ? '\\t': ""  
      }) + '"';  
      break;  
    case 'object':  
      if (object === null) return 'null';  
      var results = [];  
      for (var property in object) {  
        var value = jQuery.toJSONString(object[property]);  
        if (value !== undefined) results.push(jQuery.toJSONString(property) + ':' + value);  
      }  
      return '{' + results.join(',') + '}';  
      break;  
    case 'array':  
      var results = [];  
      for (var i = 0; i < object.length; i++) {  
        var value = jQuery.toJSONString(object[i]);  
        if (value !== undefined) results.push(value);  
      }  
      return '[' + results.join(',') + ']';  
      break;  
    }  
  }  
});